import {
    request
} from "../../request/index.js";
import regeneratorRuntime from '../../lib/runtime/runtime';
// pages/goods_list/goods_list.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        tabs:[
            {
                id:0,
                value:"综合",
                isActive:true
            },
            {
                id:1,
                value:"销量",
                isActive:false
            },
            {
                id:2,
                value:"价格",
                isActive:false
            },
        ],
        goodsList:[]
    },
    // 接口要的参数
    QueryParams:{
        query:"",
        cid:"",
        pagenum:1,
        pagesize:10
    },
    // 总页数
    totalPages:1,

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        if (options.cid!=undefined) {
            this.QueryParams.cid = options.cid
        }
        if (options.query!=undefined) {
            this.QueryParams.query = options.query
        }
        this.getGoodsList()

    },
    // 获取商品列表数据
    async getGoodsList () {
        const res = await request({url:'/goods/search',data:this.QueryParams})
        // 获取总条数
        const total = res.data.message.total
        // 计算总页数
        this.totalPages = Math.ceil(total/this.QueryParams.pagesize)
        this.setData({
            //拼接数组
            goodsList:[...this.data.goodsList,...res.data.message.goods]
        })

        // 关闭下拉刷新窗口
        wx.stopPullDownRefresh()

        if(res.data.message.goods.length==0) {
            wx.showToast({
                title: '暂无内容',
                icon: 'error'
              });
            setTimeout(()=>{
                wx.navigateBack({
                  delta: 1,
                });
            },1000);
        }
    },

    //监听子组件触发的回调函数
    handleTabsItemChange (e) {
        // 获取被点击的标题索引
        const {index} = e.detail
        // 修改原数组 isActive 变为 true
        let {tabs} = this.data
        tabs.forEach((v,i)=>i===index?v.isActive=true:v.isActive=false)
        // 赋值
        this.setData({tabs})
    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {
        // 触发下拉刷新页面
        // 重置页码
        // 重置数组
        // 重新发送请求
        this.QueryParams.pagenum = 1
        this.setData({
            goodsList:[]
        })
        this.getGoodsList()
        
    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {
        // 判断还有没有下一页数据
        if(this.QueryParams.pagenum>=this.totalPages){
            //无下一页数据
            wx.showToast({
              title: '已经到底啦~',
              mask:true
            });
        } else {
            this.QueryParams.pagenum++;
            this.getGoodsList();
        }
    },
})